iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
Software Development

PHP 大師之路 - 開源的技術淬練系列 第 24

Day 24 - PHP 套件設計實戰 (10) 發行 Composer 套件

  • 分享至 

  • xImage
  •  

Day 15 決定採用 Cache 這個主題來作為本次正式發行 Composer 套件的範例。在今天完成了。果然要有 Dead Line 的刺激才能變身為超級賽亞人來寫 Code 呀 ><。先來介紹發行過程,最後的套件完成品放在總結一起介紹。

發行過程

(1) 建立一個發行

在專案的 GitHub 儲存庫的首頁右方,可以看到「Create a new release」連結。

(2) 輸入版本資訊

在這個畫面輸入版本的相關資訊。

(A) 版本標籤。也就是版本號碼。這邊建議使用語意化版本號碼規範的格式。
(B) 發行主旨。可以任意填寫。
(C) 此次發行的描述。加了什麼功能、更新了什麼 Bug。在這個欄位可以使用 @ 標註 GitHub 帳號,和使用 # 加上數字,會自動建立與問題討論區的項目的超連結。

按下「Publish release」按紐送出表單。

(3) 發行版本

這樣就完成了。

Day 14,筆者介紹了發佈 Composer 套件的事前準備,其中包含了事先在 Packagist 網站提交 GitHub 儲存庫的網址,並在個人資料的設定頁面與 GitHub 建立連結,以便日後在 GitHub 發佈一個新的發行時,Packagist 能同步更新。

接下來到 Composer 的套件頁面看看版號是否有更新。

主要下載版本已從 dev-master 切換至 1.0.0 穩定版本,已經可以直接使用 Composer 指令下載了。

測試

已經可以順利使用 Composer 來下載套件了。

總結

這個使用 PSR-16 規範來實作的快取套件,在實作上沒有難度。因此既然沒有深度那麼來加大作品的廣度吧。

從在這系列鐵人賽的過程中,在範例中提及的 File、Redis、MySQL、SQLite 的 Driver 外,再多加了五個 Driver,提供給開發者們多一點的選擇。

Driver 名稱 ID 所需模組 參數
File file - *storage
Redis redis redis host, port, user, pass
MySQL mysql PDO, pdo_mysql host, port, *user, *pass, *dbname, charset
SQLite sqlite PDO, pdo_sqlite *storage
APC apc apc -
APCu apcu apcu -
Memcache memcache memcache host, port
LibMemcached memcached memcached host, port
WinCache wincache wincache -

(標註星號為必要參數)

下載指令:

composer require shieldon/simple-cache

使用方法也很好上手唷。

$driver = new \Shieldon\SimpleCache\Cache('file', [
    'storage' => __DIR__ . '/../tmp'
]);

將 Cache 類別實例化後,就可以使用 PSR-16 規範的六種方法:

  • set
  • get
  • has
  • delete
  • getMultiple
  • setMultiple
  • deleteMultiple
  • clear

詳細的用法請見套件 GitHub 儲存庫的 README 文件喔。網址:https://github.com/terrylinooo/simple-cache

最後的六天要介紹的是,用這個 PHP 套件再設計一個 WordPress 的快取外掛。我們明天見囉。


上一篇
Day 23 - PHP 套件設計實戰 (9) 程式碼檢閱 (Code Review) 分析
下一篇
Day 25 - WordPress 外掛設計實戰 (1) 初始化作業
系列文
PHP 大師之路 - 開源的技術淬練30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言